perm filename PDP10.DOC[DOC,BGB] blob sn#083864 filedate 1974-01-28 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	                      ON PDP-10 MACHINE CODING.
C00004 00003	PROBLEMS.
C00006 ENDMK
C⊗;
                      ON PDP-10 MACHINE CODING.

                          Bruce G. Baumgart

ABSTRACT:

CONTENTS:

Introduction

The three basic machine codes: character, instruction, and number.
(graphics: character, vector, raster).

About Machine Language - Why study machine language.
   Polemic - Pro Machina Lingua; efficiency, flexibility, foundation.
   PDP-10 Design History; from conversations with Kotok, Bell and McCarthy.
   The relation between machine language & higher level language.

Using Machine Language - How to Write Code.
	INIT - initialization; job area; and trivial programs.
	TTY - teletype command scanners;
	IO  - disk input output.
	MEM - memory management; nodes, LISP,
	DPY - displays; clipers, rotation, perspective.
	ARITH - arithmetic; high precision, errors, trig, NA.
	SYMTAB - Symbol Tables
	MACRO -

Problem Set.

Toy Systems Programs
	the very cold start scenerio.
	octal DDT, symbolic DDT, assemlber, LISP, file system.

Subroutines, Calling Conventions, Argument Binding, Environments.

Study of Bit Reversal Routines.

Arcane PDP-10 Lore.

Postscipts.
PROBLEMS.

	1. Is there a way to use CAIE and indirect addressing so as
	   to skip when an accumulator conatains XWD 0,Y and memory
	   contains XWD X,Y  ?

	2. Some machines have a Load AC with the contents of the PC;
	   (why hell some machines keep the PC in an AC); nevertheless
	   how would you load get the PC into an AC on the PDP-10 with
	   position independent code ?

	3. Swap the contents of two contigous blocks of core
	   without using an extra memory buffer.
	  Contents
          Before:	After:
		A1		B1
		A2		B2
		A3		A1
		B1		A2
		B2		A3

	4. Code a backwards BLT.

	5. Swap the order of the bits of a word.
		bit0  ↔ bit35
		bit1  ↔ bit34
		     ...
		bit17 ↔ bit18